<template>
  <div>
    <template v-for="(item, index) in options">
      <template v-if="values.includes(item.value)">
        <span v-if="item.raw.listClass == 'default' || !item.raw.listClass" :key="item.value" :index="index"
          :class="item.raw.cssClass">{{ item.label }}</span>
        <el-tag v-else :disable-transitions="true" :key="item.value" :index="index"
          :type="item.raw.listClass == 'primary' ? '' : item.raw.listClass" :class="item.raw.cssClass">
          {{ item.label }}
        </el-tag>
      </template>
    </template>
  </div>
</template>

<script>
  export default {
    name: "DictTag",
    props: {
      options: {
        type: Array,
        default: null,
      },
      value: [Number, String, Array],
    },
    computed: {
      values() {
        if (this.value !== null && typeof this.value !== 'undefined') {
          return Array.isArray(this.value) ? this.value : [String(this.value)];
        } else {
          return [];
        }
      },
    },
  };
</script>
<style scoped>
  .el-tag+.el-tag {
    margin-left: 10px;
  }
</style>